﻿<%@CODEPAGE="65001"%>
<!--#include file="class/alipay_notify.asp"-->
<%
' 功能：支付宝页面跳转同步通知页面
' 版本：3.2
' 日期：2011-03-31
' 说明：
' 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。
' 该代码仅供学习和研究支付宝接口使用，只是提供一个参考。
	
' //////////////页面功能说明//////////////
' 该页面可在本机电脑测试
' 可放入HTML等美化页面的代码、商户业务逻辑程序代码
' 该页面可以使用ASP开发工具调试，也可以使用写文本函数LogResult进行调试，该函数已被默认关闭，见alipay_notify.asp中的函数VerifyReturn

' TRADE_FINISHED(表示交易已经成功结束，为普通即时到帐的交易状态成功标识);
' TRADE_SUCCESS(表示交易已经成功结束，为高级即时到帐的交易状态成功标识);
'////////////////////////////////////////

'计算得出通知验证结果
Set objNotify = New AlipayNotify
sVerifyResult = objNotify.VerifyReturn()

'If sVerifyResult Then	'验证成功
	'*********************************************************************
	'请在这里加上商户的业务逻辑程序代码
	
	'——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
    '获取支付宝的通知返回参数，可参考技术文档中页面跳转同步通知参数列表
    'out_trade_no	= Request.QueryString("out_trade_no")	'获取订单号
    'trade_no		= Request.QueryString("trade_no")		'获取支付宝交易号
    'total_fee		= Request.QueryString("total_fee")		'获取总金额
	
	If Request.QueryString("trade_status") = "TRADE_FINISHED" or Request.QueryString("trade_status") = "TRADE_SUCCESS" Then
	'判断是否在商户网站中已经做过了这次通知返回的处理（可参考“集成教程”中“3.4返回数据处理”）
		'如果没有做过处理，那么执行商户的业务程序
		'如果有做过处理，那么不执行商户的业务程序
	Else
		Response.Write "trade_status="&Request.QueryString("trade_status")
	End If

	'Response.Write "验证成功<br>"
	'Response.Write "trade_no="&trade_no
	
	'——请根据您的业务逻辑来编写程序（以上代码仅作参考）——
	
	'*********************************************************************
	alipay		= request("buyer_email")
	mytrade		= request("out_trade_no")
	trade		= request("trade_no")
	sum			= request("total_fee")
	paytime		= request("notify_time")
	call opendata()
	set rsRead = conn.execute("select username,says from [donate-list] where mytrade = '"&mytrade&"'")
	if not rsRead.eof then
		username = rsRead("username")
		says = rsRead("says")
	end if
	set rsRead = nothing
	'conn.execute("insert into [donate-list](username,email,url,says,alipay,mytrade,[trade],[sum],paytime) values('"&username&"','"&email&"','"&url&"','"&says&"','"&alipay&"','"&mytrade&"','"&trade&"','"&sum&"','"&paytime&"')")
	'response.write("insert into [donate-list](username,email,url,says,alipay,mytrade,[trade],[sum],paytime) values('"&username&"','"&email&"','"&url&"','"&says&"','"&alipay&"','"&mytrade&"','"&trade&"','"&sum&"','"&paytime&"')")
	conn.execute("update [donate-list] set [sum]="&sum&",alipay='"&alipay&"',trade='"&trade&"',paytime='"&paytime&"',[status]=true where mytrade='"&mytrade&"'")
	call closedata()
	
'else '验证失败
    '如要调试，请看alipay_notify.asp页面的VerifyReturn函数，比对sign和mysign的值是否相等，或者检查responseTxt有没有返回true
   'response.Write "交易过程有误，未能完成"
'end if
%>
<!doctype html>
<head>
<meta charset="utf-8" />
<title>订单详情</title>
<style type="text/css">
.order-detail {width:560px;margin:0 auto;}
 h1 {margin:0;padding:40px 0 20px;font-size:24px;font-family:microsoft yahei,mingliu,arial;font-weight:normal}
 h1 em {font:700 24px/1.5 georgia;color:#d00;margin:0 5px}
 table {border-collapse:collapse;border-spacing:0;font:12px/1.5 arial;width:100%;}
 table td, table th{border:1px solid #e5e5e5;padding:4px 8px;}
 table th {font:700 12px/1.5 arial;text-align:right;background:#f8f8f8;}
 button {padding:4px 20px;}
</style>
</head>
<body>
<div class="order-detail">
<h1><%=username%>，您成功为他捐赠<em><%=sum%></em>元</h1>
<table>
	<tbody>
		<tr>
			<th>老板姓名：</th>
			<td><%=username%></td>
			<th>支付宝：</th>
			<td><%=alipay%></td>
		</tr>
		<tr>
			<th>您的祝福：</th>
			<td colspan="3"><%=says%></td>
		</tr>
	</tbody>
	<thead>
		<tr>
			<th>支付宝订单号：</th>
			<td><%=trade%></td>
			<th>捐赠金额：</th>
			<td><%=sum%></td>
		</tr>
	</thead>
	<tfoot>
		<tr>
			<th>&nbsp;</th>
			<td colspan="3"></td>
		</tr>
	</tfoot>
</table>
</div>
</body>
</html>